#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include"imgpro.h"
#include"colorwheel.h"
#include"colorblock.h"
#include"recoloring.h"
using namespace cv;
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_open_clicked();

    void on_save_clicked();


    void on_SliderControl_sliderReleased();

    void on_MedianRadioButton_clicked();

    void on_GaussianRadioButton_clicked();

    void on_MeanRadioButton_clicked();

    void on_saturationRadioButton_clicked();

    void on_SharpButton_clicked();

    void on_liqButton_pressed();

    void on_liqButton_released();

    void on_liqueRadioButton_clicked();

    void on_liqueRadioButton_toggled(bool checked);

    void on_BilaRadioButton_clicked();

    void on_SmartBilaRadioButton_clicked();

    void on_lomoRadioButton_clicked();

    void on_whiteRadioButton_clicked();

    void on_select_colorblock(int id);

    void on_receive_shit(Mat shit);

private:
    Ui::MainWindow *ui;
    Mat image;
    Mat imaging;
    enum Filters{Median,Gaussian,Mean,Saturation,Lique,Bila,SmartBila,Lomo,White}filters=Median;
    void showImage(Mat a);
    warp *imagewp = new warp;
    //大作业内容
    ColorWheel *colorwheel;
    ColorBlock *colorblock[5];
    int cb_old_id=0;
    Recoloring* recoloring;
};

#endif // MAINWINDOW_H
